package cn.com.dycc.sys_manage.rolesysmanagement.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import cn.com.dycc.sys_manage.rolesysmanagement.entity.Role;
import cn.com.dycc.sys_manage.rolesysmanagement.entity.RoleInfo;
import cn.com.dycc.sys_manage.rolesysmanagement.entity.RoleResult;


/**
 * 
 * Description: 角色信息业务处理层接口
 * Author: linfangan
 * Version: 1.0
 * Create Date Time: 2017年8月8日 下午4:35:41.
 * Update Date Time: 
 * @see
 */
public interface RoleService {
	/**
	 * 判断角色是否存在
	 * @param role 增加的角色信息
	 * @return Role 增加的角色信息
	 * @throws RoleNotFoundException
	 */
	public boolean addRole(Role role)throws RoleNotFoundException;
	
	/**
	 * 查找全部角色信息  20180508更改
	 * @return 返回全部信息的集合
	 * @throws RoleNotFoundException
	 */
	public List<RoleResult> findAll(String org_id,Integer page,Integer limit)throws RoleNotFoundException;
	
//	/**
//	 * 更新角色信息
//	 * @param role 更新的用户信息
//	 * @return 更新成功返回更新后的用户信息
//	 * @throws RoleNotFoundException
//	 */
//	public Role updateRole(Role role,int bindRoleNo)throws RoleNotFoundException;
	
	/**
	 * 根据角色id删除角色信息
	 * @param roleNo 角色id
	 * @return 删除成功返回"删除成功"，失败返回"删除失败"
	 * @throws RoleNotFoundException
	 */
	public String deleteRoleByRoleNo(String role_no,String org_id)throws RoleNotFoundException;
	
	/**
	 * 查询所有的角色信息，用于用户的角色分配，不含隐藏
	 * @param org_id 组织标识
	 * @return
	 * @throws RoleNotFoundException
	 */
	public List<RoleInfo> findAllNameOf(String org_id) throws RoleNotFoundException;
	
	/**
	 * 角色列表统计
	 * @param request
	 * @return
	 * @throws RoleNotFoundException
	 */
	public String findRoleListCount(HttpServletRequest request)throws RoleNotFoundException;
	
}
